﻿using Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Linguist
{
    /// <summary>
    /// Represents a search graph
    /// </summary>
    public interface ISearchGraph
    {
        /// <summary>
        /// Retrieves initial search state
        /// </summary>
        /// <returns></returns>
        ISearchState getInitialState();

        /// <summary>
        /// Returns the number of different state types maintained in the search graph
        /// </summary>
        /// <returns></returns>
        int getNumStateOrder();

        /// <summary>
        /// Returns order of words and data tokens
        /// </summary>
        /// <returns></returns>
        Boolean getWordTokenFirst();
    }
}
